package com.kitty.game.role.message;


import com.kitty.mina.Modules;
import com.kitty.mina.annotation.ListField;
import com.kitty.mina.annotation.MessageMeta;
import com.kitty.mina.message.Message;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * 刷新角色外观
 */
@Setter
@Getter
@MessageMeta(module = Modules.MSG_UPDATE_APPEARANCE)
public class RespUpdateAppearance extends Message {

    private int roleId;

    private short posX;

    private short posY;

    private short dir;//方向

    private int icon;//角色icon

    private int weaponId; //武器ID

    private short type = 1;// 1 玩家 4 NPC

    private int sub_type = 0;

    private int owner_id;

    private int leaderId = 0;

    private String roleName;//角色名称

    private short level;//角色等级

    private String title;//角色称号

    private String familyName;//角色门派名称

    private String partyName;//角色门派名称

    private int status = 0;//什么状态？

    private int special_icon;//时装id 变身卡icon也在这 什么优先呢?

    private int org_icon;//门派外观

    private int suit_icon;//套装ID

    private int suit_light_effect = 0;//7000+相性

    private int guard_icon = 0;

    private int pet_icon = 0;

    private int shadow_icon = 0;

    private int shelter_icon = 0;

    private int mount_icon;

    private String alicename;

    private String gid;

    private String camp;

    private byte vipColor = 0;

    private byte isHide = 0;

    private byte moveSpeed = 0;//移动速度

    private int ct_data_score = 0;

    private byte opacity = 0;

    private int masquerade = 0;//变身卡？

    private byte flyUpState  = 0;//飞升状态 0没有飞升 1飞升

    private byte flyUp  = 0;//飞升状态 1飞仙 2飞魔

    private byte obstacle = 0;

    private List<Integer> light_effect;//特效

    private int share_mount_icon;//夫妻坐骑？

    private int share_mount_leader_id;//夫妻坐骑归属？

    private int share_mount_shadow;//夫妻坐骑阴影？

    private short gaterCount;
    //
//    private int gaterMount_icon;//司机   todo 这个包结构有点迷 长度为0的时候这里不能写

    @ListField(2)
    private List<Integer> gatherIcons;//集合坐骑人员icon

    private List<String> gatherNames;//集合坐骑的人员名称列表

    private int portrait = 0;//肖像？

    private String customFasion;
    private short duibiaoIcon ;// 对标

    // mod
    private byte byte1 ;// 是否有飞行器
    private byte byte2 ;// 是否有飞行器
    private byte byte3 ;// 是否有飞行器
    private byte byte4 ;// 是否有飞行器

    private String str  ="(.*)" ;//
    private byte byte5 ;// 是否有飞行器
    private byte byte6 ;// 是否有飞行器
    private byte byte7 ;// 是否有飞行器

    private byte move_type ;// 是否有飞行器
    private byte fly_type ;// 对标

    private List<Integer> move_ids;//集合坐骑人员icon
    // mod:e


    public short getDuibiaoIcon() {
        return duibiaoIcon;
    }

    public void setDuibiaoIcon(short duibiaoIcon) {
        this.duibiaoIcon = duibiaoIcon;
    }


    public byte getMove_type() {
        return move_type;
    }

    public void setMove_type(byte move_type) {
        this.move_type = move_type;
    }

    public byte getFly_type() {
        return fly_type;
    }

    public void setFly_type(byte fly_type) {
        this.fly_type = fly_type;
    }

    public List<Integer> getMove_ids() {
        return move_ids;
    }

    public void setMove_ids(List<Integer> move_ids) {
        this.move_ids = move_ids;
    }

    //    private short gaterCount;
//    @ListField(value=2)
//    private List<Integer> gatherIcons;
//    private List<String> gatherNames;
//    private int portrait = 0;
//    private String customFasion;

    public void setRoleId(int roleId) {
        this.roleId = roleId;
    }

    public void setPosX(short posX) {
        this.posX = posX;
    }

    public void setPosY(short posY) {
        this.posY = posY;
    }

    public void setDir(short dir) {
        this.dir = dir;
    }

    public void setIcon(int icon) {
        this.icon = icon;
    }

    public void setWeaponId(int weaponId) {
        this.weaponId = weaponId;
    }

    public void setType(short type) {
        this.type = type;
    }

    public void setSub_type(int sub_type) {
        this.sub_type = sub_type;
    }

    public void setOwner_id(int owner_id) {
        this.owner_id = owner_id;
    }

    public void setLeaderId(int leaderId) {
        this.leaderId = leaderId;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public void setLevel(short level) {
        this.level = level;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public void setFamilyName(String familyName) {
        this.familyName = familyName;
    }

    public void setPartyName(String partyName) {
        this.partyName = partyName;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public void setSpecial_icon(int special_icon) {
        this.special_icon = special_icon;
    }

    public void setOrg_icon(int org_icon) {
        this.org_icon = org_icon;
    }

    public void setSuit_icon(int suit_icon) {
        this.suit_icon = suit_icon;
    }

    public void setSuit_light_effect(int suit_light_effect) {
        this.suit_light_effect = suit_light_effect;
    }

    public void setGuard_icon(int guard_icon) {
        this.guard_icon = guard_icon;
    }

    public void setPet_icon(int pet_icon) {
        this.pet_icon = pet_icon;
    }

    public void setShadow_icon(int shadow_icon) {
        this.shadow_icon = shadow_icon;
    }

    public void setShelter_icon(int shelter_icon) {
        this.shelter_icon = shelter_icon;
    }

    public void setMount_icon(int mount_icon) {
        this.mount_icon = mount_icon;
    }

    public void setAlicename(String alicename) {
        this.alicename = alicename;
    }

    public void setGid(String gid) {
        this.gid = gid;
    }

    public void setCamp(String camp) {
        this.camp = camp;
    }

    public void setVipColor(byte vipColor) {
        this.vipColor = vipColor;
    }

    public void setIsHide(byte isHide) {
        this.isHide = isHide;
    }

    public void setMoveSpeed(byte moveSpeed) {
        this.moveSpeed = moveSpeed;
    }

    public void setCt_data_score(int ct_data_score) {
        this.ct_data_score = ct_data_score;
    }

    public void setOpacity(byte opacity) {
        this.opacity = opacity;
    }

    public void setMasquerade(int masquerade) {
        this.masquerade = masquerade;
    }

    public void setFlyUpState(byte flyUpState) {
        this.flyUpState = flyUpState;
    }

    public void setFlyUp(byte flyUp) {
        this.flyUp = flyUp;
    }

    public void setObstacle(byte obstacle) {
        this.obstacle = obstacle;
    }

    public void setLight_effect(List<Integer> light_effect) {
        this.light_effect = light_effect;
    }

    public void setShare_mount_icon(int share_mount_icon) {
        this.share_mount_icon = share_mount_icon;
    }

    public void setShare_mount_leader_id(int share_mount_leader_id) {
        this.share_mount_leader_id = share_mount_leader_id;
    }

    public void setShare_mount_shadow(int share_mount_shadow) {
        this.share_mount_shadow = share_mount_shadow;
    }

//    public void setGaterCount(short gaterCount) {
//        this.gaterCount = gaterCount;
//    }
//
//    public void setGatherIcons(List<Integer> gatherIcons) {
//        this.gatherIcons = gatherIcons;
//    }
//
//    public void setGatherNames(List<String> gatherNames) {
//        this.gatherNames = gatherNames;
//    }
//
//    public void setPortrait(int portrait) {
//        this.portrait = portrait;
//    }

    public void setCustomFasion(String customFasion) {
        this.customFasion = customFasion;
    }

    public int getRoleId() {
        return this.roleId;
    }

    public short getPosX() {
        return this.posX;
    }

    public short getPosY() {
        return this.posY;
    }

    public short getDir() {
        return this.dir;
    }

    public int getIcon() {
        return this.icon;
    }

    public int getWeaponId() {
        return this.weaponId;
    }

    public short getType() {
        return this.type;
    }

    public int getSub_type() {
        return this.sub_type;
    }

    public int getOwner_id() {
        return this.owner_id;
    }

    public int getLeaderId() {
        return this.leaderId;
    }

    public String getRoleName() {
        return this.roleName;
    }

    public short getLevel() {
        return this.level;
    }

    public String getTitle() {
        return this.title;
    }

    public String getFamilyName() {
        return this.familyName;
    }

    public String getPartyName() {
        return this.partyName;
    }

    public int getStatus() {
        return this.status;
    }

    public int getSpecial_icon() {
        return this.special_icon;
    }

    public int getOrg_icon() {
        return this.org_icon;
    }

    public int getSuit_icon() {
        return this.suit_icon;
    }

    public int getSuit_light_effect() {
        return this.suit_light_effect;
    }

    public int getGuard_icon() {
        return this.guard_icon;
    }

    public int getPet_icon() {
        return this.pet_icon;
    }

    public int getShadow_icon() {
        return this.shadow_icon;
    }

    public int getShelter_icon() {
        return this.shelter_icon;
    }

    public int getMount_icon() {
        return this.mount_icon;
    }

    public String getAlicename() {
        return this.alicename;
    }

    public String getGid() {
        return this.gid;
    }

    public String getCamp() {
        return this.camp;
    }

    public byte getVipColor() {
        return this.vipColor;
    }

    public byte getIsHide() {
        return this.isHide;
    }

    public byte getMoveSpeed() {
        return this.moveSpeed;
    }

    public int getCt_data_score() {
        return this.ct_data_score;
    }

    public byte getOpacity() {
        return this.opacity;
    }

    public int getMasquerade() {
        return this.masquerade;
    }

    public byte getFlyUpState() {
        return this.flyUpState;
    }

    public byte getFlyUp() {
        return this.flyUp;
    }

    public byte getObstacle() {
        return this.obstacle;
    }

    public List<Integer> getLight_effect() {
        return this.light_effect;
    }

    public int getShare_mount_icon() {
        return this.share_mount_icon;
    }

    public int getShare_mount_leader_id() {
        return this.share_mount_leader_id;
    }

    public int getShare_mount_shadow() {
        return this.share_mount_shadow;
    }

//    public short getGaterCount() {
//        return this.gaterCount;
//    }
//
//    public List<Integer> getGatherIcons() {
//        return this.gatherIcons;
//    }
//
//    public List<String> getGatherNames() {
//        return this.gatherNames;
//    }

    public int getPortrait() {
        return this.portrait;
    }

    public String getCustomFasion() {
        return this.customFasion;
    }
}

